package com.wzxl.utils;

import com.wzxl.utils.text.EncodeUtil;
import com.wzxl.utils.text.HashUtil;
import org.apache.shiro.crypto.SecureRandomNumberGenerator;
import org.apache.shiro.crypto.hash.SimpleHash;
import org.apache.shiro.util.ByteSource;

/**
 * @author rxbyes
 * @version V1.0
 * @package com.wzxl.utils
 * @description: TODO ( 密码生成工具类 )
 * @date 2017 下午4:53
 */
public class PassWordUtils {

    /**
     * Base64
     *
     * @param password 明文密码
     * @return 密文
     */
    protected static String hashPassWord(String password) {

        return EncodeUtil.encodeBase64(HashUtil.sha1(password));
    }

    /**
     * 生成登陆密码
     *
     * @param password 明文密码
     * @param salt     盐值
     * @return 密文
     */
    public static String createTokenPassWord(String password, String salt) {

        return new SimpleHash("md5", password, ByteSource.Util.bytes(salt), 2).toHex();
    }

    /**
     * 生成盐值
     *
     * @return
     */
    public static String createSalt() {
        return new SecureRandomNumberGenerator().nextBytes().toHex();
    }

}
